from selenium.webdriver.support.wait import WebDriverWait
from utils import utils
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver import Keys


# 对象库层基类封装
class base_imp:
    def __init__(self):
        self.driver = utils.get_ihml() #获取封装的驱动

    def get_element(self, location):
        # 显示等待
        wait = WebDriverWait(self.driver, 10, 1)
        # 封装操作 （*location为定位方法与元素）
        element = wait.until(lambda x: x.find_element(*location))
        return element

# 操作类基层封装
class bases_imp:
    def imp_sta(self, element, text):
        # 封装清空方法
        element.clear()
        # 封装输入方法（text为输入内容）
        element.send_keys(text)

    # 使用键盘选择请假操作和使用键盘选择开始时间操作
    def imp_stas(self, element):
        element.send_keys(Keys.ARROW_DOWN)
        element.send_keys(Keys.ENTER)

    # 使用键盘选择结束时间操作
    def imp_stass(self,element):
        element.send_keys(Keys.ARROW_DOWN)
        element.send_keys(Keys.ARROW_DOWN)
        element.send_keys(Keys.ENTER)